Solve Advanced Settings
The advanced options are used to specify and constrain the particular method used when optimizing the objective value. These options let you adjust the settings used by the algorithm to find more appropriate or otherwise better results. If you need more information about Solve before you begin, see Solve Overview.
- This panel is opened by clicking the Advanced tab (red arrow) in the Solve panel.
For more information about the preceding page, and how to open this page, see: Solve Panel.
Tip: The preceding screen shot shows the Solve panel in its Maximized state (red box). When you are working on Advanced Settings, you might find maximizing the panel helpful.
Method (green arrow)
Selection |
Description |
---|---|
Auto Detect |
Automatically select the best method to use, given the basic settings. |
Simplex LP |
Use to resolve linear problems. The Simplex LP Solver Pro finds optimal solutions to problems where the objective and constraints are all linear functions of the variables. Since all linear functions are convex, the Solver can normally find the globally optimal solution, if one exists. Because a linear function (a straight line) can always be increased or decreased without limit, the optimal solution is always determined by the constraints. |
GRG Nonlinear |
Use to resolve smooth nonlinear problems. The nonlinear GRG Solver finds optimal solutions to problems where the objective and constraints are all smooth (convex or nonconvex) functions of the variables. (You can imagine a graph – whether straight or curved – that contains no “breaks.”) For non-convex problems, the Solver normally can find a locally optimal solution, if one exists – but this may or may not be the globally optimal solution. A nonlinear objective function can have a natural “peak” or “valley,” but in most problems the optimal solution is partly or wholly determined by the constraints. The nonlinear GRG can be used on problems with all-linear functions, but it is much less effective and efficient than the LP Solver on such problems. If you use multi start methods for global optimization with the nonlinear GRG, you will have a better chance (but not a guarantee) of finding the globally optimal solution. The idea behind multi start methods is to automatically start the Solver from a variety of starting points, to find the best of the locally optimal solutions – ideally the globally optimal solution. |
Evolutionary |
Use to resolve non-smooth problems. The Evolutionary Solver usually finds good solutions to problems where the objective and constraints include non-smooth or discontinuous functions of the variables – in other words, where there are no restrictions on the formulas that are used to compute the objective and constraints. For example, if your model uses IF, LOOKUP, or similar functions of the variables, it’s likely that the graphs of these functions will contain “jumps” or “breaks.” For this class of problems, the Solver will return the best feasible solution (if any) that it can find in the time allowed. The Evolutionary Solver can be used on problems with all-smooth functions that may have multiple locally optimal solutions, in order to seek a globally optimal solution, or simply a better solution than the one found by the nonlinear GRG Solver alone. It can be used on problems with smooth convex functions, but it is usually less effective and efficient than the nonlinear GRG Solver on such problems. Similarly, it can be used on problems with all-linear functions, but there is little point in doing so when the Simplex Solver is available. |
All Methods (orange arrow)
These Advanced settings are applicable to any of the methods that Solve might use to resolve the problem and create the optimization.
Field |
Description |
---|---|
Constraint Precision |
The required degree of precision. For a constraint to be considered satisfied, the relationship between the Cell Reference and the Constraint value cannot be violated by more than this amount. The smaller the number, the higher the precision. |
Use Automatic Scaling |
Internally rescale the values of variables, constraints, and the objective to similar magnitudes. This reduces the impact of extremely large or small values on the accuracy of the solution process, and is enabled by default. |
Solving with Integer Constraints |
|
Ignore Integer Constraints |
Ignore the integer, binary, and all different constraints when you run Solve. Note: This is called solving the relaxation of the integer programming problem. |
Integer Optimality |
The maximum percentage difference between the objective value of the best integer solution and the best known bound-on true optimal objective value that Solve should accept before stopping. The default value is 1%. Set to 0% to ensure a proven optimal solution is found. Note: The Integer Optimality percentage is sometimes called the (relative) "MIP gap". |
Solving Limits |
|
Max Time Seconds |
The maximum time, in seconds, that Solve runs for before it stops. |
Iterations |
The maximum number of iterations that Solve may perform on one problem. Iterations are "pivots" for the Simplex method, or "major iterations" for the GRG method. |
Max Sub-problems |
The limit on the number of sub-problems explored by the Branch & Bound algorithm before Solve stops. |
Max Feasible Solutions |
The limit on the number of "candidate" integer solutions found by the Branch & Bound algorithm before Solve stops. |
Method-Specific Options (yellow arrow)
GRG Nonlinear Method
These Advanced settings are only available if GRG Nonlinear is selected as the method.
Field |
Description |
---|---|
Convergence |
The amount of
relative change allowed in the last five iterations before Solve
stops with the message Note: Providing smaller values typically means that Solve will take more time but stop at a point closer to the optimal solution. |
Derivatives |
Select the mechanism to use to estimate derivatives:
|
Multi Start |
|
Use Multi start |
Use the multi start method for global optimization. If this option is selected when you run Solve, the GRG Nonlinear method is run repeatedly, starting from different (automatically chosen) starting value for the decision variables. This process may find a better solution, but will take more computing time than a single run of the GRG Nonlinear method. |
Population |
The number of different starting points (values for the decision variables) for the multi start method to consider. Notes:
|
Random Seed |
The random seed for the random number generator used when creating candidate starting points for the GRG Nonlinear method. The seed number entered here is used as a fixed starting point for the random number generator:
|
Require Bounds Variables |
When using the multi start method:
Note: The method is far more effective if bounds are defined on all variables. The tighter the bounds on the variables, the better the method is likely to perform. |
Evolutionary Method
These Advanced settings are only available if Evolutionary is selected as the method.
Field | Description |
---|---|
Convergence |
The maximum
percentage difference in objective values for the top 99% of the population
that Solve should allow before it stops with the message Note: Providing smaller values typically means that Solve will take more time but stop at a point closer to the optimal solution. |
Mutation Rate |
A number between 0 and 1 that indicates the relative frequency with which some member of the population will be altered or "mutate" to create a new trial solution during each generation or sub-problem considered by the Evolutionary method. A higher Mutation Rate increases the diversity of the population and the chance that a new, better solution, will be found; but may also increase the total solution time. |
Population Size |
The number of different points (values for the decision variables) for the Evolutionary method to maintain at any given time in its population of candidate solutions.
Notes:
|
Random Seed |
The random seed for the Evolutionary method, which is used when making a variety of random choices. The seed number entered here is used as a fixed starting point for the random number generator:If you enter a number, that number is used as the starting point by the random seed generator each time you run Solve. If you do not enter a number, the random number generator uses a different seed each time you run Solve. This may yield a different (better or worse) solution each time. |
Maximum Time without Improvement |
The maximum number of seconds you
want the Evolutionary method to continue without a meaningful improvement in
the objective value of the best solution in the population. After this time,
it will stop with the message |
Require Bounds Variables |
When running the Evolutionary method:
Note: The method is far more effective if bounds are defined on all variables. The tighter the bounds on the variables, the better the method is likely to perform. |
Other Topics
- For details of the step-by-step process that you need to follow to open Solve and find an optimization, see Open Solve and Create an Optimization.
- For a full end to end walk through of running an example Solveoptimization, see Complete Solve Example.